<?php

include_once 'Persona.php';

class Alumno extends Persona {
    
    public function listarAlumnos ($condicion) {
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM PERSONA JOIN ALUMNO ON (peIdPersona=alIdPersona) $condicion ORDER BY peApePat");
        
        $this->desconectar();
        
        return $result;
    }
    
    public function obtenerPorId ($idAlumno) {
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM PERSONA JOIN ALUMNO ON (peIdPersona=alIdPersona) WHERE alIdAlumno = $idAlumno");
        
        $this->desconectar();
        
        return $result[0];
    }
    
    public function registrarAlumno ($idPersona, $apePat, $apeMat, $numCta, $fecNac, $sex, 
                                $gradoMax, $situAcad, $nomGrado, $tieneCurNeg, $nomCurNeg, 
                                    $tieneTrab, $areaTraba, $nomProyec, $descProy, $edoProy, $tiemProy, $enteCENAPyME) {
        
        $this->conectar();
        
        if ($idPersona != false && $idPersona != 0) {
            
            $folio = $this->generarFolio($idPersona, $apePat, $apeMat);
            
            $idAlumno = $this->insertar("INSERT INTO alumno (alidpersona, alnumcuenta, alfolio, alfecnac, alsexo, 
                                                        algradomax, alsitugrado, alnomgrado, altienecurneg, alnomcurneg, 
                                                            altienetrabajo, alareatrabajo, alnomproyec, aldescproyec, alestadoproyec, altiempoproyecto, 
                                                                alenterocenapyme, aldirfoto) 
                                                VALUES ($idPersona, '$numCta', '$folio', '$fecNac', '$sex', 
                                                            '$gradoMax', '$situAcad', '$nomGrado', '$tieneCurNeg', '$nomCurNeg', 
                                                                '$tieneTrab', '$areaTraba', '$nomProyec', '$descProy', '$edoProy', '$tiemProy', 
                                                        '$enteCENAPyME', '')", "alidalumno");
            
            $this->desconectar();

            if ($idAlumno != false) {

                return $this->obtenerPorId($idAlumno);
            } else {
                return $idAlumno;
            }
        } else {
            $this->desconectar();
            
            return false;
        }
    }

    public function modificarAlumno ($idAlumno, $idPersona, $apePat, $apeMat, $numCta, $fecNac, $sex, 
                                $gradoMax, $situAcad, $nomGrado, $tieneCurNeg, $nomCurNeg, 
                                    $tieneTrab, $areaTraba, $nomProyec, $descProy, $edoProy, $tiemProy, $enteCENAPyME) {
        
        $this->conectar();
        
        if ($idPersona != false && $idPersona != 0) {
            
            $folio = $this->generarFolio($idPersona, $apePat, $apeMat);
            
            $resul = $this->ejecutarQuery("UPDATE alumno SET alnumcuenta = '$numCta', alfolio = '$folio', alfecnac = '$fecNac', alsexo = '$sex', 
                                                        algradomax = '$gradoMax', alsitugrado = '$situAcad', alnomgrado = '$nomGrado', 
                                                            altienecurneg = '$tieneCurNeg', alnomcurneg = '$nomCurNeg', 
                                                                altienetrabajo = '$tieneTrab', alareatrabajo = '$areaTraba', 
                                                                    alnomproyec = '$nomProyec', aldescproyec = '$descProy', alestadoproyec = '$edoProy', altiempoproyecto = '$tiemProy', 
                                                                    alenterocenapyme = '$enteCENAPyME', aldirfoto = '' 
                                                    WHERE alidalumno = $idAlumno");
            
            $this->desconectar();

            if ($resul != false) {

                return $this->obtenerPorId($idAlumno);
            } else {
                return $idAlumno;
            }
        } else {
            $this->desconectar();
            
            return false;
        }
    }
    
    public function generarFolio ($idPersona, $apePat, $apeMat) {
        
        if ($idPersona < 10) {
                
                $cadFolio = "00000".$idPersona;
            } else if ($idPersona < 100) {
                
                $cadFolio = "0000".$idPersona;
            } else if ($idPersona < 1000) {
                
                $cadFolio = "000".$idPersona;
            } else if ($idPersona < 10000) {
                
                $cadFolio = "00".$idPersona;
            } else if ($idPersona < 100000) {
                
                $cadFolio = "0".$idPersona;
            } else {
                $cadFolio = $idPersona;
            }
            
            return strtoupper(substr($apePat, 0, 2) . substr($apeMat, 0, 2) . $cadFolio);
    }
    
    public function establecerFoto ($id, $dirFoto) {
        
        $this->conectar();
        
        $resul = $this->ejecutarQuery("UPDATE alumno SET aldirfoto = '$dirFoto' 
                                                    WHERE alidalumno = $id");
        
        $this->desconectar();
        
        return $resul;
    }
}

?>